Connecting rural geographical areas to the power grid and/or the Internet can be difficult and can require a sizable investment, e.g., by network operators, government agencies, power utilities, or others. For at least some of these reasons, many rural areas in developing nations often do not have access to a continuous electrical supply or hard-wired Internet connectivity, e.g., via cable, phone lines, etc. However, with the expanded use of Internet services worldwide, people in these areas sometimes use mobile devices, e.g., low-end cellular telephone handsets (“low-end mobile devices”) with limited computational capacity (e.g., slower processor and/or lack of client-side script execution capability). Applications executing (also, “running”) on a low-end mobile device often implement a client-server architecture to offload computation and memory consumption to a server and to better facilitate user-to-user interactions. However, wireless networks for these mobile devices may suffer from intermittent network disruptions due to lack of a reliable network infrastructure. For an application that implements a conventional client-server computing architecture, intermittent network disruptions could interfere with proper operations of the application because the application as a client may be unable to receive instructions or data from its corresponding server, e.g., at a time when the instructions or data are needed.
The figures depict various embodiments of this disclosure for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the invention described herein.